1
Rancangan Proyek: Membangun Grep Berbasis Rust
AI034Lesson 12
00:00

Di dunia Rust, alat CLI yang andal bukan hanya satu skrip saja; melainkan sebuah rancangan yang terstruktur dengan cermat Rancangan Proyek. Untuk membangun alat seperti grep, kita membagi pekerjaan antara Krate Biner dan Krate Perpustakaan.

1. Metafora Mesin Kopi

Bayangkan mesin kopi kelas atas. Bagian lib.rs mengandung mekanisme internal untuk memanaskan air dan menggiling biji kopi—logika "mesin"-nya. Bagian main.rs adalah tombol eksternal yang ditekan pengguna—"antarmuka." Dengan menjaga keduanya terpisah, teknisi dapat menguji pemanas (perpustakaan) tanpa harus menekan tombol fisik (biner) setiap kali.

2. Mendirikan Mesin

Kita mulai dengan $ cargo new minigrep. Meskipun ini menciptakan main.rs, kita harus secara manual menambahkan src/lib.rs. Pembagian arsitektur ini memastikan logika pencarian inti kita tetap terpisah dari pemrosesan CLI, memungkinkan pengujian yang lebih mudah dan modularitas.

Krate Binersrc/main.rs(Penghidup)Krate Perpustakaansrc/lib.rs(Mesin)Memanggil Logika

3. Modularitas yang Dapat Diuji

Dengan memindahkan logika ke lib.rs, kita menggunakan kerangka pengujian Rust untuk memanggil fungsi perpustakaan dalam lingkungan terkontrol. Kita gunakan use minigrep; di biner kita untuk mengimpor mesin sambil menjaga logika pemrosesan baris perintah tetap terisolasi.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>